package com.reporting.yb.module.system.controller.admin.reporting.vo;

import com.reporting.yb.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.reporting.yb.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 投诉信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ReportingPageReqVO extends PageParam {

    @Schema(description = "是否匿名(0实名举报,1匿名举报)")
    private Integer isAnonymity;

    @Schema(description = "举报人id(实名匿名都要获取到)", example = "27230")
    private String userId;

    @Schema(description = "举报人姓名", example = "赵六")
    private String reportName;

    @Schema(description = "举报人身份证号")
    private String reportIdentityCard;

    @Schema(description = "举报人居住地")
    private String reportAddress;

    @Schema(description = "举报人联系方式")
    private String reportTel;

    @Schema(description = "被举报人姓名", example = "王五")
    private String beReportedName;

    @Schema(description = "被举报人单位")
    private String beReportedUnit;

    @Schema(description = "被举报人职务")
    private String beReportedOffice;

    @Schema(description = "被举报人级别")
    private String beReportedLevel;

    @Schema(description = "标题")
    private String title;

    @Schema(description = "举报类别(0涉黑涉恶线索1涉法涉诉线索2干警违纪违法线索3反邪教组织线索)")
    private Integer category;

    @Schema(description = "举报类别详情")
    private Integer categoryDetail;

    @Schema(description = "详细内容")
    private String content;

    @Schema(description = "文件id", example = "31110")
    private String fileId;

    @Schema(description = "受理情况(0重复举报,1已受理,2已办结,3不予受理)")
    private String acceptSituation;

    @Schema(description = "线索情况(0有效线索.1无效线索)")
    private String clueSituation;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "受理情况说明")
    private String illustrate;

    @Schema(description = "备注", example = "你说的对")
    private String remark;

    @Schema(description = "创建者")
    private String creator;

    @Schema(description = "是否查看")
    private String isSee;

    @Schema(description = "状态")
    private String state;

    @Schema(description = "状态1")
    private String stateOne;

    @Schema(description = "状态2")
    private String stateTwo;

    @Schema(description = "状态3")
    private String staeThree;

    @Schema(description = "状态4")
    private String stateFour;

    @Schema(description = "状态5")
    private String stateFive;

}